layui.use(['table','layer'],function(){
    var layer = parent.layer === undefined ? layui.layer : top.layer,
        $ = layui.jquery,
        table = layui.table;

    //第一个实例
    var tableIns= table.render({
        //容器元素的ID属性值
        id:'saleChanceTable'
        ,elem: '#saleChanceList'
        //容器的高度 full-差值
        ,height: 'full-125'
        //访问数据的url(后台的数据接口）
        ,cellMinWidth:95  //单元格最小宽度
        ,url: ctx+'/sale_chance/list' //数据接口
        ,page: true //开启分页
        ,limit:10  //默认每页显示的数量
        ,toolbar:'#toolbarDemo'
        ,limits:[10,20,30,40,50]
        ,cols: [[ //表头
            //field:要求field属性值与返回的数据中的对应的属性字段名一致
            //title: 设置列的标题
            //sort: 是否允许排序 （默认false)
            //fixed: 固定列
            {type:'checkbox',fixed: 'center'}
            ,{field: 'id', title: 'ID', width:80, sort: true, fixed: 'left'}
            ,{field: 'chanceSource', title: '机会来源', align:'center'}
            ,{field: 'customerName', title: '客户名称', align:'center'}
            ,{field: 'cgjl', title: '成功几率', align:'center'}
            ,{field: 'overview', title: '概要', align:'center'}
            ,{field: 'linkMan', title: '联系人', align:'center'}
            ,{field: 'linkPhone', title: '联系号码', align:'center'}
            ,{field: 'createMan', title: '创建人', align:'center'}
            ,{field: 'uname', title: '分配人', align:'center'}
            ,{field: 'assignTime', title: '分配时间', align:'center'}
            ,{field: 'state', title: '分配状态', align:'center',templet: function (d) {
                    console.log(d);
                //调用函数 返回格式化的结果
                    return formatState(d.state);
                }}
            ,{field: 'devResult', title: '开发结果', align:'center',templet:function (d) {

                return formatDevResult(d.devResult);
                }}
            ,{field: 'createDate', title: '创建时间', align:'center'}
            ,{field: 'updateDate', title: '更新时间', align:'center'}
            ,{title: '操作',templet:"#saleChanceListBar",fixed: 'right',align:'center',minWidth:150}
        ]]
    });


    /**
     * 格式化分配状态状态值
     * 0表示未分配
     * 1 表示已分配
     * 其他 = 未知
     * @param state
     */
    function formatState(state){
        if(state==0){
            return "<div style='color: #dd7429'>未分配</div>";
        }else if(state==1){
            return "<div style='color: green'>已分配</div>";
        }else{
            return "<div style='color: red'>未知</div>";
        }
    }

    /**
     * 开发 状态
     * 0 == 表示未开发
     * 1== 表示开发中
     * 2== 表示开发成功
     * 3 ==表示开发失败
     * 4== 其他情况
     * @param devResult
     */
    function formatDevResult(devResult) {
        if(devResult==0){
            return "<div style='color: #b9b61e'>未开发</div>";
        }else if(devResult==1){
            return "<div style='color: orange'>开发中</div>";
        }else if(devResult==2){
            return "<div style='color: green'>开发成功</div>";
        }else if(devResult==3){
            return "<div style='color: red'>开发失败</div>";
        }else{
            return "<div style='color: blue'>未知</div>";
        }
    }


    $(".search_btn").click(function (){
        /**
         * 表格重载
         */
        tableIns.reload({
            //设置需要传递给后端的参数
            where: { //设定异步数据接口的额外参数，任意设
                //通过文本框/下拉框的值 设置参数
                customerName: $("[name='customerName']").val() //客户姓名
                ,createMan: $("[name='createMan']").val()  //创建人
                ,state: $("#state").val()  //状态
            }
            ,page: {
                curr: 1 //重新从第 1 页开始
            }
        });

    })

    /**
     * 数据表格的头部工具栏
     * 监听头部工具栏事件
     */
    table.on('toolbar(saleChances)',function (data){
        console.log(data);
        //判断对应的事件类型
        if(data.event=="add"){
            //添加操作
            openSaleChanceDialog();
        }else if(data.event =="del"){
           deleteSaleChance(data);
        }
    })

    /**
     * 打开营销机会数据的窗口
     * 如果营销机会Id为空 则为添加操作
     * 如果不为空 则为修改操作
     */
    function openSaleChanceDialog(saleChanceId){
        //弹出层标题
        var title="<h2>营销机会管理——添加营销机会</h2>";
        var url=ctx+"/sale_chance/toSaleChancePage";
        if(saleChanceId!=null&&saleChanceId!=''){
            //更新操作
            title="<h2>营销机会管理——修改营销机会</h2>";
            url+="?saleChanceId="+saleChanceId;
        }
        console.log(url);
        //iframe层
        layui.layer.open({
            type: 2,  //类型
            title:title, //标题
            area:['500px','620px'],  //宽高
            content: url,
            maxmin:true
        });
    }

    /**
     * 删除营销机会（删除多条记录)
     * @param data
     */
    function deleteSaleChance(data){
        //获取数据表格选中的行数据
         var checkStatus = table.checkStatus('saleChanceTable');
         console.log(checkStatus);
         //获取所有被选中的记录对应的数据
        var saleChanceData=checkStatus.data;
        //判断的选中行大于0
         if(saleChanceData.length<1){
             layer.msg("请选择要删除的记录",{icon:5});
             return ;
         }
         //询问用户是否确认删除
        layer.confirm("您确定要删除选中的记录吗？",{icon:3,title:"营销机会管理"},function (index) {
            layer.close(index);
            //拿到所有的id 传递的是数组 ids=1&ids=2
            var ids="ids=";
            //循环获取到的选中行记录数据
            for (var i=0;i<saleChanceData.length;i++){
                if(i<saleChanceData.length-1){
                    ids=ids+saleChanceData[i].id+"&ids=";
                }else{
                    ids=ids+saleChanceData[i].id;
                }

            }
            //发送ajax请求 执行删除操作
            $.ajax({
                type:"post",
                url:ctx+"/sale_chance/delete",
                data:ids, //传递的参数是数组
                success:function (result) {
                    if(result.code==200){
                        layer.msg("删除成功！",{icon:6});
                        tableIns.reload();
                    }else{
                        layer.msg(result.msg,{icon:5});
                    }
                }
            })


        })
    }

    /**
     * 行工具栏监听事件
     */
    table.on('tool(saleChances)', function(data){
        //判断类型
        if(data.event=="edit"){
            //编辑操作
            var saleChanceId=data.data.id;
            openSaleChanceDialog(saleChanceId);
        }else if (data.event=="del"){ //删除操作
            //询问用户是否删除
            layer.confirm("确定要删除吗？",{icon:3,title:"营销机会管理"},function (index) {
                //关闭确认框
                layer.close(index);
                //发送ajax请求,删除记录
                $.ajax({
                    type:"post",
                    url:ctx+"/sale_chance/delete",
                    data:{ids:data.data.id},
                    success:function (result) {
                        if(result.code==200){
                            layer.msg("删除成功！",{icon:6});
                            tableIns.reload();
                        }else{
                            layer.msg(result.msg,{icon:5});
                        }
                    }
                })
            })
        }
    })




    });
